From eee69a2a82227a8491c69fd3b11c77bf2f543e90 Mon Sep 17 00:00:00 2001 From: Alastair Tse Date: Thu, 7 Dec 2006 16:43:22 +0000 Subject: [PATCH] [XEND] Only return valid VIF and VBD parameters via Xen API. Also fix typo for memory_dynamic_{min,max}. Signed-off-by: Alastair Tse --- tools/python/xen/xend/XendAPI.py | 19 +++++++++++++++---- tools/python/xen/xend/XendDomainInfo.py | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index f59153e68b..e2640589ec 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -1057,7 +1057,16 @@ class XendAPI: cfg = vm.get_dev_xenapi_config('vbd', vbd_ref) if not cfg: return xen_api_error(XEND_ERROR_VBD_INVALID) - return xen_api_success(cfg) + + valid_vbd_keys = self.VBD_attr_ro + self.VBD_attr_rw + \ + self.Base_attr_ro + self.Base_attr_rw + + return_cfg = {} + for k in cfg.keys(): + if k in valid_vbd_keys: + return_cfg[k] = cfg[k] + + return xen_api_success(return_cfg) def VBD_media_change(self, session, vbd_ref, vdi_ref): return xen_api_error(XEND_ERROR_UNSUPPORTED) @@ -1134,14 +1143,16 @@ class XendAPI: cfg = vm.get_dev_xenapi_config('vif', vif_ref) if not cfg: return xen_api_error(XEND_ERROR_VIF_INVALID) + valid_vif_keys = self.VIF_attr_ro + self.VIF_attr_rw + \ self.Base_attr_ro + self.Base_attr_rw + return_cfg = {} for k in cfg.keys(): - if k not in valid_vif_keys: - del cfg[k] + if k in valid_vif_keys: + return_cfg[k] = cfg[k] - return xen_api_success(cfg) + return xen_api_success(return_cfg) # class methods def VIF_create(self, session, vif_struct): diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 3716be8462..29ce17083c 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -1784,9 +1784,9 @@ class XendDomainInfo: def get_memory_static_min(self): return self.info.get('memory_static_min', 0) def get_memory_dynamic_max(self): - return self.info.get('memory_dynamic_min', 0) - def get_memory_dynamic_min(self): return self.info.get('memory_dynamic_max', 0) + def get_memory_dynamic_min(self): + return self.info.get('memory_dynamic_min', 0) def get_vcpus_policy(self): -- 2.30.2